Estoy estudiando la documentación de rjsf y estoy confundido acerca de la sección de elementos additionalItems de los documentos de matriz .
Aquí está el código de ejemplo de los documentos:
const Form = JSONSchemaForm.default; const schema = { type: "array", items: { type: "string" }, additionalItems: { type: "boolean" } }; ReactDOM.render(( <Form schema={schema} /> ), document.getElementById("app"));y aqui esta el codepen oficial
El formulario renderizado parece comportarse exactamente igual si elimino los elementos additionalItems , entonces, ¿cuál es el propósito? Supongo que tiene uno, ya que se menciona explícitamente en los documentos, pero no puedo resolverlo :)
additionalItems: <schema> se usa para indicar cómo se tratan los elementos más allá de los elementos enumerados que especifica en el esquema, o incluso si están permitidos.
En este esquema, el primer elemento de la matriz debe ser una cadena, el segundo debe ser un número, pero cualquier elemento adicional más allá de eso está permitido y puede ser cualquier cosa:
{ "type": "array", "items": [ { "type": "string" }, { "type": "number" } ] }En este esquema, el primer elemento debe ser una cadena, el segundo debe ser un número y todos los elementos posteriores deben ser valores booleanos:
{ "type": "array", "items": [ { "type": "string" }, { "type": "number" } ], "additionalItems": { "type": "boolean" } }Y en este esquema, no hay más elementos permitidos después de los dos primeros:
{ "type": "array", "items": [ { "type": "string" }, { "type": "number" } ], "additionalItems": false }Puede leer más sobre esta palabra clave en la documentación: https://json-schema.org/understanding-json-schema/reference/array.html